package com.crl.module.avatar.action
{
	import com.crl.module.avatar.core.IActor;

	public interface IAction
	{
		/**
		 * 动作类型; 
		 * @return 
		 * 
		 */		
		function getType() : String;
		
		function execute(actor:IActor):void;
		
		
		function isBlock(action:IAction) : Boolean;
		
		function replace(action:IAction) : Boolean;
		
		
		function giveup() : Boolean;
		
		function onTick(actor:IActor) : void;
		
		/**
		 * 动作是否已完成; 
		 * @return 
		 * 
		 */		
		function get isFinished():Boolean;
		
		function get blockMessage() : String;
	}
}